//
//
//

#ifndef	CGAMESTATEHANDLER_H
#define	 CGAMESTATEHANDLER_H

#include <map>
#include <IEventReceiver.h>
#include "CGenricTask.h"

class CGameStateHandler : public	irr::IEventReceiver
{
public:
	virtual	bool	OnEvent(const irr::SEvent& event) = 0;

	virtual	bool	Update() = 0;
	//virtual	bool	Reset() = 0;
	//virtual	bool	CleanUp() = 0;
	//static	virtual	CGameStateHandler*	Instance() = 0;
	//virtual	std::map<std::string, CGenericTask*>*	GetTasks()	{ return &m_mapTasks; }
protected:
	bool ChangeState( CGameStateHandler* state );

	std::map<std::string, CGenericTask*> m_mapTasks;
private:
};


#endif